const express = require('express')
const upRouter = express.Router()
const multer = require('multer')
const path = require('path')


//控制文件的存储
const storage=multer.diskStorage({
    // 确定上传文件存储在哪
    destination:function(req, file, cb){
        cb(null,path.resolve(__dirname,'../../public/img','upload'))
    },
    // 确定上传文件的文件名
    filename:function(req,file,cb){
        // 时间戳+随机6位数+后缀名
        const time=Date.now();
        const randomStr=Math.random().toString(36).slice(-6);
        const ext=path.extname(file.originalname);
        const filename=`${time}-${randomStr}${ext}`;
        cb(null,filename)
    }
})
// 上传文件保存在哪
const upload=multer({
    storage,// 在哪里存储,更多控制
    limits:{//限制上传数据
        fileSize: 1024*1024*4
    },
    fileFilter(req,file,cb){//限制上传文件格式
        // 获取上传文件的后缀名
        const ext = path.extname(file.originalname);
        const list = ['.jpg','.png','.gif','.webp'];
        if(list.includes(ext)){
            cb(null,true)
        }else{
            cb(new multer.MulterError('不支持这个后缀'))
        }
    }
})


upRouter.post("/",upload.single('img'),(req,res,next)=>{
    res.send({
        code: 0,
        msg:'',
        data: `/upload/${req.file.filename}`
    })
})




module.exports=upRouter